/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.baratongoweb.model;


import com.baratongoweb.modelos.DetallesFactura;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;

/**
 *
 * @author vane
 */
public class DetallesFacturaDAO extends Model  {

    private PreparedStatement ps,ps2;
    private PreparedStatement psInsert;
    private PreparedStatement psEliminar;
    private PreparedStatement psModificar;

    public DetallesFactura consultar(String codigo) throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void insertar(DetallesFactura t) throws SQLException {

        Model model=new Model();
        String sql="insert into detalles_factura(codigo_factura, codigo_producto, cantidad) "
                + "values(?,?,?)";
        if(psInsert==null){
            psInsert=model.getCon().prepareStatement(sql);
        }

        psInsert.setString(1, t.getFactura().getCodigo());
        psInsert.setString(2, t.getProducto().getCodigo());
        psInsert.setDouble(3, t.getCantidad());
        psInsert.executeUpdate();

    }


    public LinkedList<DetallesFactura> listar(String codigo) throws SQLException {
        LinkedList<DetallesFactura> dfs=new LinkedList<DetallesFactura>();
        Model model=new Model();
        String sql="select codigo_producto, codigo_factura, cantidad from detalles_factura"
                + "where codigo_factura="+codigo;
        if(ps==null){
            ps=model.getCon().prepareStatement(sql);
        }
        ResultSet rs=ps.executeQuery();
        while(rs.next()){
            DetallesFactura df=new DetallesFactura();
            df.setCantidad(rs.getDouble("cantidad"));
            df.setFactura(model.getFacturaDAO().consultar(rs.getString("codigo_factura")));
            df.setProducto(model.getProductoDAO().consultar(rs.getString("codigo_producto")));
            dfs.add(df);

        }
        return dfs;
    }


    public void modificar(DetallesFactura t) throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void eliminar(DetallesFactura t) throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
